home *** CD-ROM | disk | FTP | other *** search
/ PC World Komputer 2010 April / PCWorld0410.iso / hity wydania / Ubuntu 9.10 PL / karmelkowy-koliberek-desktop-9.10-i386-PL.iso / casper / filesystem.squashfs / usr / src / linux-headers-2.6.31-14 / scripts / mkmakefile < prev    next >
Makefile  |  2009-09-09  |  1KB  |  51 lines

  1. #!/bin/sh
  2. # Generates a small Makefile used in the root of the output
  3. # directory, to allow make to be started from there.
  4. # The Makefile also allow for more convinient build of external modules
  5.  
  6. # Usage
  7. # $1 - Kernel src directory
  8. # $2 - Output directory
  9. # $3 - version
  10. # $4 - patchlevel
  11.  
  12.  
  13. test ! -r $2/Makefile -o -O $2/Makefile || exit 0
  14. # Only overwrite automatically generated Makefiles
  15. # (so we do not overwrite kernel Makefile)
  16. if test -e $2/Makefile && ! grep -q Automatically $2/Makefile
  17. then
  18.     exit 0
  19. fi
  20. if [ "${quiet}" != "silent_" ]; then
  21.     echo "  GEN     $2/Makefile"
  22. fi
  23.  
  24. cat << EOF > $2/Makefile
  25. # Automatically generated by $0: don't edit
  26.  
  27. VERSION = $3
  28. PATCHLEVEL = $4
  29.  
  30. lastword = \$(word \$(words \$(1)),\$(1))
  31. makedir := \$(dir \$(call lastword,\$(MAKEFILE_LIST)))
  32.  
  33. MAKEARGS := -C $1
  34. MAKEARGS += O=\$(if \$(patsubst /%,,\$(makedir)),\$(CURDIR)/)\$(patsubst %/,%,\$(makedir))
  35.  
  36. MAKEFLAGS += --no-print-directory
  37.  
  38. .PHONY: all \$(MAKECMDGOALS)
  39.  
  40. all    := \$(filter-out all Makefile,\$(MAKECMDGOALS))
  41.  
  42. all:
  43.     \$(MAKE) \$(MAKEARGS) \$(all)
  44.  
  45. Makefile:;
  46.  
  47. \$(all) %/: all
  48.     @:
  49.  
  50. EOF
  51.